Method for time-dependent visual quality encoding for broadcast services

ABSTRACT

A method for encoding a video signal generally includes enabling multiple encoding passes based on a first profile, generating an encoded bitstream during a first time period by encoding each of a plurality of images in the video signal with the multiple encoding passes in a circuit based on the first profile, disabling the multiple encoding passes based on a second profile and generating the encoded bitstream during a second time period by encoding each of the images using a single encoding pass in the circuit based on the second profile. Each profile may determine one or more resources configured to be applied to the images before generating the encoded bitstream.

This application relates to U.S. Ser. No. 14/717,931, filed May 20,2015, which is incorporated by reference in its entirety.

TECHNICAL FIELD

Embodiments of this invention relate generally to video encoding, andexamples of systems and methods for adjustment of visual quality ofencoding and encoding resources based on a time of day.

BACKGROUND

Video or other media content may be used by a variety of devices,including televisions, broadcast systems, mobile devices, and bothlaptop and desktop computers. Typically, devices may display video inresponse to receipt of video or other media content, often afterdecoding the signal from an encoded form. Video signals provided betweendevices are often encoded using one or more of a variety of encodingand/or compression techniques, and video signals are typically encodedin a manner to be decoded in accordance with a particular standard, suchas MPEG-2, MPEG-4, and H.264/MPEG-4 Part 10. By encoding video or othermedia content, then decoding the received signals, the amount of dataprovided between devices may be significantly reduced.

The encoding may also affect the visual quality of the video and mediasignals. Conversely, a desired visual quality may determine how theencoding is implemented for various media content. For example, forlinear broadcasting services, a high visual quality may be desired forspecific content, which may affect the encoding process and what aspectsof encoding are enabled/disabled. In such an instance, the encodingprocess may use all available aspects to ensure the desired high visualquality is provided. In other settings, such as streaming services, thedesired visual quality may be reduced, which may affect the aspects ofthe encoder used to encode the streaming content. In general, however,the value of the media content being delivered may determine theencoding process used to provide an associated visual quality.

SUMMARY

The invention concerns a method for encoding a video signal thatgenerally includes enabling multiple encoding passes based on a firstprofile, generating an encoded bitstream during a first time period byencoding each of a plurality of images in the video signal with themultiple encoding passes in a circuit based on the first profile,disabling the multiple encoding passes based on a second profile andgenerating the encoded bitstream during a second time period by encodingeach of the images using a single encoding pass in the circuit based onthe second profile. Each profile may determine one or more resourcesconfigured to be applied to the images before generating the encodedbitstream.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an encoder according to an embodiment ofthe present invention;

FIG. 2 is a block diagram of an encoder according to an embodiment ofthe present invention;

FIG. 3 is a flowchart of a method for providing an activity-varianceratio of a macroblock according to an embodiment of the presentinvention;

FIG. 4 is a schematic illustration of a media delivery system accordingto an embodiment of the invention; and

FIG. 5 is a schematic illustration of a video distribution system thatmay make use of encoders described herein.

DETAILED DESCRIPTION

Examples of apparatuses and methods for adjusting an encoding profile tochange the visual quality are described herein. In accordance with oneor more described embodiments, an encoding profile may be adjusted basedon a time of day. The value of media content associated various times ofday may be the basis for adjusting the encoding profile, which mayaffect an amount of encoding resources enabled for a specific time ofday. Certain details are set forth below to provide a sufficientunderstanding of embodiments of the invention. However, it will be clearto one having skill in the art that embodiments of the invention may bepracticed without these particular details, or with additional ordifferent details. Moreover, the particular embodiments of the presentinvention described herein are provided by way of example and should notbe used to limit the scope of the invention to these particularembodiments. In other instances, well-known video components, encoder ordecoder components, circuits, control signals, timing protocols, andsoftware operations have not been shown in detail in order to avoidunnecessarily obscuring the invention.

FIG. 1 is a block diagram of an apparatus in the form of an encoder 100according to an embodiment of the invention. The encoder 100 may includeone or more logic circuits, control logic, logic gates, processors,memory, and/or any combination or subcombination of the same, and may beconfigured to encode and/or compress a video signal using one or moreencoding techniques, examples of which will be described further below.The encoder 100 may be configured to encode, for example, a variable bitrate signal and/or a constant bit rate signal, and generally may operateat a fixed rate to output a bitstream that may be generated in arate-independent manner. The encoder 100 may be implemented in any of avariety of devices employing video encoding, including, but not limitedto, televisions, broadcast systems, mobile devices, and both laptop anddesktop computers.

The encoder 100 may be implemented in hardware such as by one or moreapplication specific integrated circuit (ASICs) or as one or morealgorithms operating on dedicated processors, which may be generalprocessors or floating-point operating processors specifically designedfor complex calculations. Alternatively, the encoder 100 may beimplemented as one or more virtual machines in a cloud computing system.By implementing the encoder 100 as one or more virtual machines in acloud computing system, the number of virtual machines may be changed,e.g., increased and decreased, based on various aspects or desiredqualities of the encoder 100.

In at least one embodiment, the encoder 100 may include an entropyencoder, such as a variable-length coding encoder (e.g., Huffman encoderor CAVLC encoder), and/or may be configured to encode data, forinstance, at a macroblock level. Each macroblock may be encoded inintra-coded mode, inter-coded mode, bidirectionally, or in anycombination or subcombination thereof. The encoder 100 may also includevarious other functional blocks that may be enabled/disabled to includeor remove their respective functionality from the encoder 100. Thevarious functional blocks may also be implemented in hardware orsoftware. For example, a pre-filter block may be enabled so to filternoise from the video prior to encoding, which may improve the visualquality of the coded bitstream.

By way of example, the encoder 100 may receive and encode a video signalthat includes a plurality of sequentially ordered coding units (e.g.,block, macroblock, slice, frame, field, group of pictures, sequence).The video signal may be encoded in accordance with one or more encodingstandards, such as MPEG-2, MPEG-4, H.263, H.264, H.265, and/or HEVC, toprovide a coded bitstream. The coded bitstream may in turn be providedto a data bus and/or to a device, such as a decoder or transcoder (notshown in FIG. 1). A video signal may include a transient signal, storeddata, or both.

Visual quality of the coded bitstream may be determined by an encodingprofile, for example. The encoding profile may determine variousencoding process to enable/disable, enhance, and/or duplicate/reduce toaffect the visual quality. For example, the encoding profile may includedata indicating to an encoder a particular level of visual quality toachieve, which may affect the computational resources necessary toperform the encoding. The various encoding processes may also affect aquantity of encoding resources (e.g. processors, circuitry, and/or othercomputational resources) used for encoding the coded bitstream. Changingthe quantity of encoding resources may affect power consumption and thecost of the encoding. For example, if a high visual quality is desired,such as by a media content provider, encoding processes such aspre-filtering may be enabled, and multiple encoding passes may beperformed. These added processes and passes, however, may increase thequantity of encoding resources used to encode the video due to the addedpre-filter and the added encoding passes, which require additionalhardware and/or software resources. Various other encoding factors mayalso be altered to change the visual quality, these factors may includebut are not limited to quantization parameter, the number of bits usedfor encoding the bitstream, and the encoding mode, to give a fewexamples. Other encoding factors that may affect the visual quality maybe to encode with a constant quantization parameter and by usingdifferent amounts of motion estimation in determining a residual.Encoding profiles may include data indicative of settings for any or allof these factors, and/or values for any or all of the factors.

The encoding profile of the encoder 100 may be periodically changed toalter the visual quality of the media provided in the coded bitstream.Various encoding profiles available for the encoder 100 may be stored ina look up file within the encoder 100, or they may be provided fromexternal as depicted in FIG. 1. Each of the various profiles may beassociated with a time period of day, for example, and the encoder 100may monitor the time and adjust the encoding profile as the time entersa different time period. For example, it may be desirable to provide thehighest visual quality during certain periods of the day, such asprimetime television hours, which may result in the profile of theencoder 100 being changed so that a maximum visual quality is provided.Conversely, other time periods of the day may be associated with lesservisual quality, at which time the encoder 100 may reduce the visualquality based on an associated encoding profile. By changing the profileof the encoder 100, a quantity of encoding resources may be altered sothat resource consumption is increased or decreased in accordance with atarget visual quality. The change in encoding resources may not onlyaffect the visual quality of the bitstream but also the costs associatedwith the encoding, e.g., power consumption, computer usage, etc. In theabove example, the number of encoding resources consumed by the encoder100 may be increased to ensure the maximum visual quality may beprovided, which, for example, may increase a number of processor coresof the encoder 100 used in encoding the video input.

To encode a video signal, the encoder may utilize the encoding profile,as one technique, to determine the level of visual quality to provide inthe encoded bitstream. The profile may be identified in accordance withany suitable encoding methodologies, including those directed to visualquality manipulation of the bitstream. The encoder 100 may adjust theencoding profile based, at least in part, on time of day, value of thecontent provided to the encoder, user specified conditions, orcombinations thereof. A user here may be a media content provider, whichmay set profiles for various types of media provided and/or generated.For example, the encoder 100 may be configured to provide a high visualquality based, at least in part, on the content being provided during aprime viewing period of the day. Adjusting the visual quality throughouta day in this manner may improve resource usage of the encoder 100. Forexample, during the late-night hours of a day when the visual quality ofthe delivered content is not required to be at a maximum, the profile ofthe encoder 100 may be adjusted to use fewer encoding resources, whichmay reduce power consumption and cost associated with the encoding.

FIG. 2 is a block diagram of an encoder 200 according to an embodimentof the present invention. The encoder 200 may be used to implement, atleast in part, the encoder 100 of FIG. 1, and may further be compliantwith one or more known coding standards, such as MPEG-2, H.264, andH.265 coding standards.

The encoder 200 may include a pre-filter 202, a mode decision block 220,a motion prediction block 218, a subtractor 204, a transform 206, aquantization block 208, an entropy encoder 222, an inverse quantizationblock 210, an inverse transform block 212, an adder 214, and a picturefilter 216. Each of these various blocks may be implemented separatelyin hardware, software, or combinations thereof. Further, each of theblocks may be independent or combined in various combinations within theencoder 200. Implementing the encoder in combinations of hardware andsoftware may provide flexibility to the encoder 200 to enable anddisable various blocks to alter the performance of the encoder 200.Enabling and disabling the various blocks independently may allow thequantity of resources used to encode a video stream to be altered.

The encoder 200 may encode video or media content and provide a codedbitstream at a desired visual quality. An encoding profile of theencoder 200 may be changed to adjust the visual quality the codedbitstream may provide to an end viewer. Different profiles may beassociated with media content of different values so that media contentof higher value may be associated with an encoding profile designed toprovide a higher visual quality. Conversely, media content of lesservalue may be associated with an encoding profile designed to providereduced visual quality. The encoder 200 may determine a value of themedia content being encoding based on a time of day or a time period ofday. As such, the encoder 200 may monitor a time of day and adjustencoding profile settings based thereon. Adjusting encoding profilesthroughout a day may allow the encoder 200 to adjust resource and powerconsumption since a desired visual quality may determine an amount ofresources used.

The mode decision block 220 may receive an incoming video signal (e.g. atransient signal or stored data from a memory) and may determine anappropriate coding mode for the video signal based on properties of thevideo signal and a decoded picture buffer signal. Further, in someembodiments, the mode decision block may receive a time input and anencoding profile input, which may be used to adjust aspects of theencoding process. The incoming video signal may be preprocessed by thepre-filter 202, which may be enabled and disabled by the encoder 200based on the encoding profile. The mode decision 220 block may determinean appropriate coding mode on a per frame and/or macroblock basis. Themode decision may include macroblock type, intra modes, inter modes,syntax elements (e.g., motion vectors), and/or one or more quantizationparameters.

The output of the mode decision block 220 may be utilized by the motionprediction block 218 to generate a predictor in accordance with one ormore coding standards and/or other prediction methodologies, which maybe encoding profile dependent. The predictor may be subtracted from thevideo signal by the subtractor 204. The output of the subtractor 204 maybe a residual, e.g. the difference between a block and a prediction fora block. Further, the motion prediction block 218 may adjust amounts ofmotion estimation, search ranges, and/or a number of reference framesused in the motion estimation process based on the encoding profile. Themotion estimation block, based on the profile, may be adjusted to usemore or less resources, where increasing the amount of motionestimation, the search range, and the number of reference frames mayincrease resource consumption.

The transform 206 may perform a transform, such as a discrete cosinetransform (DCT), on the residual to transform the residual to thefrequency domain. As a result, an output of the transform 206 may be ablock of coefficients that may, for instance, correspond to spectralcomponents of data in the video signal. For example, the coefficientblock may include a DC coefficient corresponding to a zero frequencycomponent of the video signal. The DC coefficient may, for instance,represent an average value of the coefficient block. The coefficientblock may further include one or more AC coefficients corresponding tohigher (non-zero) frequency portions of the video signal.

The quantization block 208 may receive the block of coefficients andquantize the coefficients (e.g., DC coefficient and AC coefficients) toproduce a quantized coefficient block. The quantization provided by thequantization block 208 may be lossy and/or may also utilize one or morequantization parameters to employ a particular degree of quantizationfor one or more coefficients of the coefficient block. A quantizationparameter may correspond with an amount of spatial detail preservedduring a respective quantization process. QP may be received from themode decision block 220, but it will be appreciated that in someinstances, QP may be specified by a user, or may be provided by anotherelement of the encoder 200. The quantization parameter QP may beadjusted for each macroblock, and/or may be based on the encodingprofile. The QP may also affect the number of resources consumed in theencoding process. For example, a lower QP may provide higher visualquality, but may require an increased amount of encoding resources whenquantizing the coefficients. A higher QP may have the opposite effect.

In turn, the entropy encoder 222 may encode the quantized coefficientblock to provide a coded bitstream. The entropy encoder 222 may be anyentropy encoder known by those having ordinary skill in the art orhereafter developed, such as a variable length coding (VLC) encoder or acontext-adaptive binary arithmetic coding (CABAC) encoder. The quantizedcoefficient block may also be inverse-quantized by the inversequantization block 210. The inverse-quantized coefficients may beinverse transformed by the inverse transform block 212 to produce areconstructed residual, which may be added to the predictor at the adder214 to produce reconstructed video. The reconstructed video may beprovided to the picture buffer 216 for use in future frames, and furthermay be provided from the picture buffer 216 to the mode decision block220 and the motion prediction block 218 for further in-macroblock intraprediction or other mode decision methodologies.

In an example operation of the encoder 200, a video signal (e.g. a baseband video signal) may be provided to the encoder 200 and encoded basedon a profile, which may be determined based on the time of day. Thevideo signal may be provided to the delay buffer 202 and the modedecision block 230. The mode decision block 230 may receive an encodingprofile and a time, for instance, from an external device, and mayprovide a quantization parameter QP to the quantization block 208 basedpartially on an encoding profile. Further, based on the encodingprofile, the mode decision block 220 may adjust the amount of motionestimation used by the motion prediction block 218. The subtractor 204may receive the video signal from the pre-filter 202 and may subtract amotion prediction signal from the video signal to generate a residualsignal. The residual signal may be provided to the transform 206 andprocessed using a forward transform, such as a DCT. As described, thetransform 206 may generate a coefficient block that may be provided tothe quantization block 208, and the quantization block 208 may quantizeand/or optimize the coefficient block. Quantization of the coefficientblock may be based on the quantization parameter QP, and quantizedcoefficients may be provided to the entropy encoder 222 and therebyencoded into a coded bitstream.

The quantized coefficient block may further be provided to the feedbackloop of the encoder 200. That is, the quantized coefficient block may beinverse quantized and inverse transformed by the inverse quantizationblock 210 and the inverse transform 212, respectively, to produce areconstructed residual. The reconstructed residual may be added to thepredictor at the adder 214 to produce reconstructed video, which may bewritten to the decoded picture buffer 216 for use in future frames, andfed back to the mode decision block 220 and the motion prediction block218. Based, at least in part, on the reconstructed video signals and theencoding profile, the motion prediction block 218 may provide a motionprediction signal to the adder 204.

Accordingly, the encoder 200 of FIG. 2 may provide a coded bitstreambased on a video signal, where the coded bitstream is generated in partbased on an encoding profile in accordance with embodiments of thepresent invention. Additionally, the encoder 200 may periodically changethe encoding profile based on the time and/or a value of the videosignal being encoded. For example, the encoder 200 may include a look uptable that associates different encoding profiles with different timesor time periods of the day. As the time changes, the encoder 200 maydetermine if the encoding profile may need to be changed. Once adifferent time period of day has been entered, the encoder 200 maydetermine the characteristics of the associated encoding profile andmake changes accordingly. For example, the pre-filter 202 may bedisable/enabled, the number of encoding passes the video signalexperiences may be increased/decreased, the QP level adjusted, themotion predictor functionality altered, or combinations thereof. Bychanging the encoding profile, a quantity of encoding resources may beadjusted by altering complete classes of functionality of the encoder200. The examples of encoding functionality listed are for illustrativepurposes only and one skilled in the art would understand various othertechniques to effect the same changes, which are contemplated herein.

The encoder 200 may be operated in semiconductor technology, and may beimplemented in hardware, software, or combinations thereof. In someexamples, the encoder 200 may be implemented in hardware with theexception of the mode decision block 230 that may be implemented insoftware. In other examples, other blocks may also be implemented insoftware, however software implementations in some cases may not achievereal-time operation.

FIG. 3 is a flowchart of a method 300 for selectively adjusting visualquality of an encoder based on a time of day-dependent encoding profileaccording to an embodiment of the present invention. The method 300 maybe implemented by the encoder 200 of FIG. 2 and/or the encoder 100 ofFIG. 1, for example. At step 302, an encoder may determine a time ofday. The time of day may be received from an external source, or aninternal clock of the encoder may be used to determine the time of day.However, any time keeping/determination method known by those of skillin the art would suffice. The time of day may be used to determine if anencoding profile of the encoder may be changed.

At step 304, the encoder may determine an encoding profile based on thetime of day. If, based on the time of day, the current encoding profileis still the desired encoding profile, then the encoder may end themethod 300. However, of the encoder determines that the time of day isassociated with a different encoding profile, then the encoder mayproceed to step 306. Alternatively, the encoder may monitor the time ofday and upon determining that a different designated time period hasbeen entered, the encoder may determine an encoding profile associatedwith the recently entered time period. Either way, the encoder mayconsult a look up table included in the encoder to determine an encodingprofile associated with a time or time period of the day. Each of theencoding profiles in the look up table, for example, may be configuredto provide a different visual quality.

At step 306, the encoder may adjust the encoding resources based on anew/different encoding profile. For example, if a new encoding profileis to provide higher visual quality than the previous encoding profile,then the encoder may enable pre-filtering, increase a number of encodingpasses performed, filter out ringing artifacts, decrease thequantization parameter, and/or increase the search range of a motionpredictor. A combination or all of the various changes may enhance thevisual quality and increase a quantity of encoding resources used toencode. At step 308, the encoder may encode the data based on theencoding profile and the encoding resources associated with the encodingprofile.

One or more of the methods described herein and/or any pseudocodedescribed herein, may be implemented as computer executable instructionsstored on computer readable media and/or executed on one or moreprocessors or processor cores. Computer readable media may include anyform of computer readable storage or computer readable memory,transitory or non-transitory, including but not limited to externally orinternally attached hard disk drives, solid-state storage (such as NANDflash or NOR flash media), tiered storage solutions, storage areanetworks, network attached storage, and/or optical storage.

FIG. 4 is a schematic illustration of a media delivery system 400 inaccordance with embodiments of the present invention. The media deliverysystem 400 may provide a mechanism for delivering a media source 402 toone or more of a variety of media output(s) 404. Although only one mediasource 402 and media output 404 are illustrated in FIG. 4, it is to beunderstood that any number may be used, and examples of the presentinvention may be used to broadcast and/or otherwise deliver mediacontent to any number of media outputs.

The media source data 402 may be any source of media content, includingbut not limited to, video, audio, data, or combinations thereof. Themedia source data 402 may be, for example, audio and/or video data thatmay be captured using a camera, microphone, and/or other capturingdevices, or may be generated or provided by a processing device. Mediasource data 402 may be analog or digital. When the media source data 402is analog data, the media source data 402 may be converted to digitaldata using, for example, an analog-to-digital converter (ADC).Conventionally, to transmit the media source data 402, some type ofcompression and/or encryption may be desirable. Accordingly, an encoder410 may be provided that may encode the media source data 402 using anyencoding method in the art, known now or in the future, includingencoding methods in accordance with video standards such as, but notlimited to, MPEG-2, MPEG-4, H.264, H.HEVC, or combinations of these orother encoding standards. The encoder 410 may be implemented using anyencoder described herein, including the encoder 100 of FIG. 1 and theencoder 200 of FIG. 2.

The encoder 410 may be configured to change the visual quality of theencoded data 412 based on a time period of the day and an associatedencoding profile. The encoder 410 may monitor the time throughout theday and adjust the encoding profile when a different time of day isentered, or the encoder 410 may be externally directed to change theencoding profile. A look up table may be included in the encoder 410that includes time periods and their associated encoding profiles. Theencoder 410, based on the time of day, may determine an associatedencoding profile and adjust the encoding of the encoded data 412 basedthereon.

The encoded data 412 may be provided to a communications link, such as asatellite 414, an antenna 416, and/or a network 418. The network 418 maybe wired or wireless, and further may communicate using electricaland/or optical transmission. The antenna 416 may be a terrestrialantenna, and may, for example, receive and transmit conventional AM andFM signals, satellite signals, or other signals known in the art. Thecommunications link may broadcast the encoded data 412, and in someexamples may alter the encoded data 412 and broadcast the alteredencoded data 412 (e.g. by re-encoding, adding to, or subtracting fromthe encoded data 412). The encoded data 420 provided from thecommunications link may be received by a receiver 422 that may includeor be coupled to a decoder. The decoder may decode the encoded data 420to provide one or more media outputs, with the media output 404 shown inFIG. 4.

The receiver 422 may be included in or in communication with any numberof devices, including but not limited to a modem, router, server,set-top box, laptop, desktop, computer, tablet, mobile phone, etc.

The media delivery system 400 of FIG. 4 and/or the encoder 410 may beutilized in a variety of segments of a content distribution industry.The encoder 410 may adjust encoding resources consumption based on timeof day. The encoding resources may be adjusted by changing an encodingprofile of the encoder 410, where the profile affects visual quality ofthe encoded data 412, for example. Alternatively or additionally, if thecommunication link alters the encoded data 412, then the visual qualityof the encoded data 420 may further be adjusted based on time of day andan encoding profile. For example, the encoder 410 may reduce theresources, e.g., calculating resources such as a number of processorcores used to perform the encoding, used to encode the data 602. Thereduction of resources may provide encoded data 612 at a lower visualquality. In other instances, the time of day may cause the encoder 410to increase the number of resources used to encode the data 402 so thatthe visual quality of the encoded data 412 is enhanced.

FIG. 5 is a schematic illustration of a video distribution system 500that may make use of encoders described herein. The video distributionsystem 500 includes video contributors 505. The video contributors 505may include, but are not limited to, digital satellite news gatheringsystems 506, event broadcasts 507, and remote studios 508. Each or anyof these video contributors 505 may utilize an encoder described herein,such as the encoder 410 of FIG. 4, to encode media source data andprovide encoded data to a communications link. The digital satellitenews gathering system 506 may provide encoded data to a satellite 502.The event broadcast 507 may provide encoded data to an antenna 501. Theremote studio 508 may provide encoded data over a network 503.

A production segment 510 may include a content originator 512. Thecontent originator 512 may receive encoded data from any, all, orcombinations of the video contributors 505. The content originator 512may make the received content available, and may edit, combine, and/ormanipulate any of the received content to make the content available.The content originator 512 may utilize encoders described herein, suchas the encoder 510 of FIG. 5, to provide encoded data to the satellite514 (or another communications link). The content originator 512 mayprovide encoded data to a digital terrestrial television system 516 overa network or other communication link. In some examples, the contentoriginator 512 may utilize a decoder to decode the content received fromthe contributor(s) 505. The content originator 512 may then re-encodedata and provide the encoded data to the satellite 514. In otherexamples, the content originator 512 may not decode the received data,and may utilize a transcoder to change an encoding format of thereceived data.

A primary distribution segment 520 may include a digital broadcastsystem 521, the digital terrestrial television system 516, and/or acable system 523. The digital broadcasting system 521 may include areceiver, such as the receiver 422 described with reference to FIG. 4,to receive encoded data from the satellite 514. The digital terrestrialtelevision system 516 may include a receiver, such as the receiver 422described with reference to FIG. 4, to receive encoded data from thecontent originator 512. The cable system 523 may host its own contentwhich may or may not have been received from the production segment 510and/or the contributor segment 505. For example, the cable system 523may provide its own media source data 402 as that which was describedwith reference to FIG. 4.

The digital broadcast system 521 may include an encoder, such as theencoder 410 of FIG. 4, to provide encoded data to the satellite 525. Thecable system 523 may include an encoder, such as the encoder 410 of FIG.4, to provide encoded data over a network or other communications linkto a cable local headend 532. A secondary distribution segment 530 mayinclude, for example, the satellite 525 and/or the cable local headend532.

The digital broadcast system 521, the cable system 523, and the digitalterrestrial television system 516 may adjust the visual quality of theencoded data they provide based on a value of the content, which may bedetermined from the time of day. By adjusting the visual qualitythroughout the day, the quantity of encoding resources may be adjusted,which may affect costs associated with the encoding process.

The systems of the primary distribution segment 520, which all mayinclude an encoder, such as the encoder 100 of FIG. 1 or the encoder 200of FIG. 2, may adjust encoding resource consumption based on a time ofday. As visual quality requirements, fluctuate throughout a day of mediaprogramming, the encoding resources consumed by the various systems ofthe primary distribution segment 520 may adjust the encoding resourcesused for encoding the media programming. Adjustment of encodingresources may reduce power consumption and costs for the various systemsof the primary distribution segment 520, for example.

The cable local headend 532 may include an encoder, such as the encoder410 of FIG. 4, to provide encoded data to clients in a client segment540 over a network or other communications link. The satellite 525 maybroadcast signals to clients in the client segment 540. The clientsegment 540 may include any number of devices that may includereceivers, such as the receiver 422 and associated decoder describedwith reference to FIG. 4, for decoding content, and ultimately, makingcontent available to users. The client segment 540 may include devicessuch as set-top boxes, tablets, computers, servers, laptops, desktops,cell phones, etc.

Accordingly, encoding, transcoding, and/or decoding may be utilized atany of a number of points in a video distribution system. Embodiments ofthe present invention may find use within any, or in some examples all,of these segments.

From the foregoing it will be appreciated that, although specificembodiments of the invention have been described herein for purposes ofillustration, various modifications may be made without deviating fromthe spirit and scope of the invention. Accordingly, the invention is notlimited except as by the appended claims.

1. A method for encoding a video signal, comprising the steps of:enabling multiple encoding passes based on a first profile; generatingan encoded bitstream during a first time period by encoding each of aplurality of images in the video signal with the multiple encodingpasses in a circuit based on the first profile; disabling the multipleencoding passes based on a second profile; and generating the encodedbitstream during a second time period by encoding each of the imagesusing a single encoding pass in the circuit based on the second profile,wherein each profile determines one or more resources configured to beapplied to the images before generating the encoded bitstream.
 2. Themethod according to claim 1, further comprising the steps of:determining a time change from the first time period to the second timeperiod; and determining the second profile in response to the timechange.
 3. The method according to claim 2, wherein the determination ofthe second profile comprises the steps of: accessing a look up tablethat includes a plurality of profiles with each profile associated witha different time period; and reading the second profile associated withthe second time period from the look up table.
 4. The method accordingto claim 2, wherein the determination of the time change from the firsttime period to the second time period comprises the steps of: receivinga time signal; and determining when a time indicated by the time signalchanges to the second time period.
 5. The method according to claim 1,wherein the first profile provides a higher visual quality of aplurality of encoded images in the encoded bitstream than the secondprofile.
 6. The method according to claim 1, wherein (i) the firstprofile determines a first number of resources in the circuit configuredto process the images and (ii) the second profile determines a secondnumber of resources in the circuit configured to process the images. 7.The method according to claim 6, wherein the first number of resourcesis more than the second number of resources.
 8. The method according toclaim 6, wherein the resources comprise (i) a pre-filtering resource,(ii) the multiple encoding passes, (iii) a motion range estimationresource and (iv) a quantization resource.
 9. The method according toclaim 1, further comprising the steps of: enabling a pre-filtering ofthe images before generating the encoded bitstream based on the firstprofile; and disabling the pre-filtering of the images before generatingthe encoded bitstream based on the second profile.
 10. An apparatuscomprising: an interface configured to receive a plurality of images ina video signal; and an encoder circuit configured to (i) enable multipleencoding passes based on a first profile, (ii) generate an encodedbitstream during a first time period by encoding each of the images withthe multiple encoding passes based on the first profile, (iii) disablethe multiple encoding passes based on a second profile and (iv) generatethe encoded bitstream during a second time period by encoding each ofthe images using a single encoding pass based on the second profile,wherein each profile determines one or more resources configured to beapplied to the images before generating the encoded bitstream.
 11. Theapparatus according to claim 10, wherein the encoder circuit is furtherconfigured to (i) determine a time change from the first time period tothe second time period and (ii) determine the second profile in responseto the time change.
 12. The apparatus according to claim 11, wherein theencoder circuit is further configured to (i) access a look up table thatincludes a plurality of profiles with each profile associated with adifferent time period and (ii) read the second profile associated withthe second time period from the look up table.
 13. The apparatusaccording to claim 11, wherein the encoder circuit is further configuredto (i) receive a time signal and (ii) determine when a time indicated bythe time signal changes from the first time period to the second timeperiod.
 14. The apparatus according to claim 10, wherein the firstprofile provides a higher visual quality of a plurality of encodedimages in the encoded bitstream than the second profile.
 15. Theapparatus according to claim 10, wherein (i) the first profiledetermines a first number of resources in the encoder circuit configuredto process the images and (ii) the second profile determines a secondnumber of resources in the encoder circuit configured to process theimages.
 16. The apparatus according to claim 15, wherein the firstnumber of resources is more than the second number of resources.
 17. Theapparatus according to claim 15, wherein the resources comprise (i) apre-filtering resource, (ii) the multiple encoding passes, (iii) amotion range estimation resource and (iv) a quantization resource. 18.The apparatus according to claim 10, wherein the encoder is furtherconfigured to (i) enable a pre-filtering of the images before generatingthe encoded bitstream based on the first profile and (ii) disable thepre-filtering of the images before generating the encoded bitstreambased on the second profile.